/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControleAcademico.Model.Dao;
import ControleAcademico.Model.Pojo.Atividade;
import java.io.IOException;
import java.util.*;

/**
 *
 * @author arthur
 * @author renan
 * @author tais
 * @author vinicius
 */
public class AtividadeDaoImp implements AtividadeDao{
  
    // Atributos
    private ArrayList<Atividade> listaAtividades;


   
    // Metodos
    public AtividadeDaoImp() {
        this.listaAtividades = new ArrayList<Atividade>();
    }

    
    public ArrayList<Atividade> getListaAtividades() {
        return listaAtividades;
    }    
    
    @Override
    public void adicionar (Atividade atividade) throws IOException{
        
        if(!(this.listaAtividades.contains(atividade))){
            this.listaAtividades.add(atividade);
        }
        else {
            throw new IOException();
        }
    }
   
    
    @Override
    public void remover (Atividade atividade) {
        this.listaAtividades.remove(atividade);
    }

    public ArrayList<Atividade> obterLista() {
        
        ArrayList<Atividade> copiaLista = new ArrayList<Atividade>();
        
        int index = 0;
        for(Atividade a: this.listaAtividades){
            copiaLista.add(this.listaAtividades.get(index));
            index++;
        }
        return copiaLista;
    }
    
    
    @Override
    public Atividade buscar (int id) throws IOException{
        
        int index = 0;
        boolean encontrou = false;
        for(Atividade d : listaAtividades) {
            if(d.getId() - id == 0) {
                encontrou = true;
                break;
            }
            index++;
        }
        if (encontrou == true) {
            return listaAtividades.get(index);
        } else {
            throw new IOException();
        }
    }
    
}
